package com.springboot.bean;

import lombok.*;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * @Description:
 * @Author: 张锦波
 * @Date: 2024/8/4 18:35
 * @Version: 1.0
 */

/**
 * @Component 表示将Furn当做一个组件注入到ioc容器中
 * @ConfigurationProperties(prefix = "furn01") 表示
 * 将application配置文件中设置的值 赋给 Furn 的bean对象，
 * 并将其注入到容器中
 * prefix = "furn01" : 表示设置的前缀。【根据该前缀区分不同的绑定对象】
 */
@Component
@ConfigurationProperties(prefix = "furn01")
//@ToString//在编译时，会生成tospring方法，默认情况下，会生成无参构造器、
/**
 * @Data:该注解包含了下面的注解
 * @Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode
 * 其中@RequiredArgsConstructor的作用写在类上可以替代@AutoWird注解，表示会对该类所有的属性进行依赖配置
 */
//@Data
/**
 * 1.@NoArgsConstructor在编译时会生成无参构造器。默认情况下，会生成一个无参构造器
 * 2.当有其他构造器生成时，如果你仍然希望有无参构造器，就可以加上@NoArgsConstructor
 * 否则会覆盖无参构造器，从而代码错误
 */
@NoArgsConstructor
@AllArgsConstructor
@ToString
@Setter
@Getter
public class Furn {
    private Integer id;
    private String name;
    private Double price;
}
